1. Field of the Invention
The present invention relates to a printer and a method for developing print data. More particularly, the invention relates to a page printer having a print image buffer of less than one page print data capacity,
2. Description of the Related Art
A page printer such as a laser printer is capable of performing high-speed printing. Laser printers receive print data, such as text data and image data, from an external device, such as a host computer or a personal computer, and stores the print data as packet data, which includes print information and code data for characters and symbols and print position information for image data. The packet data is developed into bit image data with a printable format and stored in a print image buffer. The developed bit image data for one dot line corresponding to a single raster scan, is sequentially retrieved from the print image buffer and outputted to a print mechanism. The print mechanism then prints the text or image on a print medium such as a sheet of paper.
The bit image data may be formed by retrieving the previously stored bit image data from the print image buffer and by ORing the retrieved bit image data with bit image data freshly developed from packet data. The thus formed bit image data is restored in the print image buffer. This process is called OR-write processes.
As shown in FIG. 1, a print image buffer 162 is provided in the RAM 160 of a control device. The print image buffer 162 is divided into, for example, three bands whose total data capacity is less than one page's worth of print image data. Image data retrieved from the reception buffer 161 is stored in a image data buffer 164. On the other hand, packet data including code data and print position information on the characters and symbols and print position information on the image data, is stored in the packet buffer 163. Print image data of characters and codes and of images are developed in the first, second, and third bands based on the packet data. First, the print image data of the first band buffer is outputted to the print mechanism. Then, while print image data of the second band buffer is being outputted, print image data is again developed in the first band buffer.
That is, band buffers of the print image buffer are cyclically used in order for developing print image data, until all the received print data is outputted to the print mechanisms. When data in one band has been completely outputted to the print mechanism, the data in the next band must be completely developed and ready to be outputted. If the data is not completely developed, a print overrun error will occur wherein an incomplete image will be outputted.
FIG. 2 shows another conventional print data allocation in a RAM 260. The print image buffer 262 has 30 exclusive bands, each band having a fixed capacity of 160 kilobytes. This amounts to a total fixed buffer capacity sufficient for storing one page of bit image data (that, is 5 or 6 megabytes). Packet data produced as described above is stored in the packet data buffer 263.
When free memory storage space of the RAM 260 becomes almost totally used up from expansion of the packet data buffer 263 and the image data buffer 264, print image data for characters and symbols and for images are sequentially developed, based on the packet data, into the print image buffers 262, first in the first band buffer, then the second band buffer, and so on. Afterward, the packet data is erased and any unprocessed print data remaining in the reception buffer 261 is developed into print image data and stored in print image buffer 262 up to the 30th band buffer in the same manner. Then, the print image data in the print image buffer 262 is sequentially retrieved from the first buffer and on to be outputted to the print mechanism and printed on the print medium.
When an exclusive print image buffer is provided with a large fixed storage capacity, formed from a plurality of band buffers that are in total capable of storing one page's worth of bit image data, one page's worth of bit image data is always developed and ready for printing processes. Although print overrun errors will not occur during printing processes, the printer must be provided with a large-size print image buffer to hold the page's worth of bit image data. The RAM is not used very efficiently.
Although providing the print image buffer with a storage capacity for holding less than one page's worth of data will reduce the capacity of the print image buffer, and therefore improve the usage efficiency of the memory in the RAM, print overrun errors are easily generated during printing processes when print image data is developed at a slower rate than print processes can be performed.
Also, required processing time increases because OR-write processes are performed while packet data is developed into bit image data.